using LiJ.Common.Plugs.CachePlug;
using LiJ.Common.Plugs.DirConfigPlug;
using LiJ.Common.Plugs.LogPlug;
using System;
using LiJ.Common.Plugs.ConfigPlug;

namespace LiJ.Common
{
	/// <summary>
	/// 基础配置模块
	/// </summary>
	public static class OsConfig
	{
		/// <summary>
		///   日志模块提供者
		/// </summary>
		public static Func<string, ILogPlug> LogWriterProvider
		{
			get;
			set;
		}

		/// <summary>
		///   缓存模块提供者
		/// </summary>
		public static Func<string, ICachePlug> CacheProvider
		{
			get;
			set;
		}

		/// <summary>
		///   配置信息模块提供者
		/// </summary>
		public static Func<string, IDirConfigPlug> DirConfigProvider
		{
			get;
			set;
		}

        /// <summary>
        /// 配置文件模块提供者
        /// </summary>
	    public static Func<string, IConfigPlug> ConfigProvider
	    {
	        get;
	        set;
	    }
	}
}
